package com.probiz.estore.system.service;

import java.util.List;

import com.probiz.estore.common.model.system.MsgTemplate;
import com.probiz.estore.core.service.GenericManager;

/**
 * Manager interface for MsgTemplate, responsible for business processing, and communicate between web and persistence layer.
 *
 */
public interface MsgTemplateManager extends GenericManager<MsgTemplate> {
	/**
	 * 获取默认模板 
	 * @param templateCodee	模板编码
	 * @return
	 */
	public MsgTemplate getDefaultTemplate(String templateCode);

	/**
	 * 批量启用/禁用模板
	 * @param msgTemplateList
	 */
	public void updateBatchEnableMsgTemplates(List<MsgTemplate> msgTemplateList);

	/**
	 * 根据模板对象
	 * @param storeId	商家
	 * @param templateCodee	模板编码
	 * @return
	 */
	public MsgTemplate getByTemplate(Integer storeId, String templateCode);
	
	/**
	 * 根据模板对象
	 * @param storeId	商家
	 * @param templateItem	模板项目
	 * @param type	项目类型（邮件、短信、站内）
	 * @return
	 */
	public MsgTemplate getByTemplateItem(Integer storeId, Integer templateItem, Short type);
	
	/**
	 * 根据模板对象
	 * @param storeId	商家
	 * @return
	 */
	public List<MsgTemplate> getGroupByTemplate(Integer storeId, Integer isStoreAdmin);
	
	/**
	 * 根据templateItem获取默认模板
	 * @param templateItem
	 * @return
	 */
	public List<MsgTemplate> getDefaultMsgTemplateList(Integer templateItem);
	
	/**
	 * 根据storeId和templateItem获取模板
	 * @param storeId
	 * @param templateItem
	 * @return
	 */
	public List<MsgTemplate> getMsgTemplateList(Integer storeId,Integer templateItem);

}
